public class ColumnsChartProperties
{
private int _Count = 1;
private string _FirstColumnText = "Prima Colonna", _SecondColumnText = "Seconda Colonna", _ThirdColumnText = "Terza Colonna", _FourthColumnText = "Quarta Colonna";
private List
<float> _FirstColumnValues
= new List
<float>(); private List
<float> _SecondColumnValues
= new List
<float>(); private List
<float> _ThirdColumnValues
= new List
<float>(); private List
<float> _FourthColumnValues
= new List
<float>(); private List
<Color
> _ColumnsColors
= new List
<Color
>();
private string _YAxeText = "Ordinate";
private int _MinimumValue = 0, _MaximumValue = 100, _IncrementValue = 10;
private string _XAxeText = "Ascisse";
private List
<string> _XAxeValues
= new List
<string>();
[CategoryAttribute("Generale"), DescriptionAttribute("Il numero di colonne diverse. Deve essere compreso tra 1 e 4."), DefaultValueAttribute(1)]
public int Tipi
{
get { return _Count; }
set
{
if (value > 0 && value <= 4)
_Count = value;
else
_Count = 1;
}
}
[CategoryAttribute("Prima Colonna"), DescriptionAttribute("Il testo da visualizzare nelle proprietà relative alla colonna."), DefaultValueAttribute("Prima Colonna")]
public string TestoPrimaColonna
{
get { return _FirstColumnText; }
set
{
if (value == "")
_FirstColumnText = "Prima Colonna";
else
_FirstColumnText = value;
}
}
[CategoryAttribute("Seconda Colonna"), DescriptionAttribute("Il testo da visualizzare nelle proprietà relative alla colonna."), DefaultValueAttribute("Seconda Colonna")]
public string TestoSecondaColonna
{
get { return _SecondColumnText; }
set
{
if (value == "")
_SecondColumnText = "Seconda Colonna";
else
_SecondColumnText = value;
}
}
[CategoryAttribute("Terza Colonna"), DescriptionAttribute("Il testo da visualizzare nelle proprietà relative alla colonna."), DefaultValueAttribute("Terza Colonna")]
public string TestoTerzaColonna
{
get { return _ThirdColumnText; }
set
{
if (value == "")
_ThirdColumnText = "Terza Colonna";
else
_ThirdColumnText = value;
}
}
[CategoryAttribute("Quarta Colonna"), DescriptionAttribute("Il testo da visualizzare nelle proprietà relative alla colonna."), DefaultValueAttribute("Quarta Colonna")]
public string TestoQuartaColonna
{
get { return _FourthColumnText; }
set
{
if (value == "")
_FourthColumnText = "Quarta Colonna";
else
_FourthColumnText = value;
}
}
[CategoryAttribute("Prima Colonna"), DescriptionAttribute("I valori che assume tale colonna.")]
public List<float> ValoriPrimaColonna
{
get { return _FirstColumnValues; }
set { _FirstColumnValues = value; }
}
[CategoryAttribute("Seconda Colonna"), DescriptionAttribute("I valori che assume tale colonna.")]
public List<float> ValoriSecondaColonna
{
get { return _SecondColumnValues; }
set { _SecondColumnValues = value; }
}
[CategoryAttribute("Terza Colonna"), DescriptionAttribute("I valori che assume tale colonna.")]
public List<float> ValoriTerzaColonna
{
get { return _ThirdColumnValues; }
set { _ThirdColumnValues = value; }
}
[CategoryAttribute("Quarta Colonna"), DescriptionAttribute("I valori che assume tale colonna.")]
public List<float> ValoriQuartaColonna
{
get { return _FourthColumnValues; }
set { _FourthColumnValues = value; }
}
[CategoryAttribute("Generale"), DescriptionAttribute("Il colore di ciascuna colonna.")]
public List<Color> Colori
{
get { return _ColumnsColors; }
set { _ColumnsColors = value; }
}
[CategoryAttribute("Asse delle Ordinate"), DescriptionAttribute("Il testo da visualizzare vicino all' asse."), DefaultValueAttribute("Ordinate")]
public string TestoY
{
get { return _YAxeText; }
set
{
if (value == "")
_YAxeText = "Ordinate";
else
_YAxeText = value;
}
}
[CategoryAttribute("Asse delle Ordinate"), DescriptionAttribute("Il valore minimo della scala sull' asse.\nDeve essere minore del valore massimo e dell' intervallo."), DefaultValueAttribute(0)]
public int ValoreMinimo
{
get { return _MinimumValue; }
set
{
if (value < ValoreMassimo && value < Intervallo)
_MinimumValue = value;
else
{
_MinimumValue = 0;
_MaximumValue = 100;
_IncrementValue = 10;
}
}
}
[CategoryAttribute("Asse delle Ordinate"), DescriptionAttribute("Il valore massimo della scala sull' asse.\nDeve essere maggiore del valore minimo e dell' intervallo."), DefaultValueAttribute(100)]
public int ValoreMassimo
{
get { return _MaximumValue; }
set
{
if (value > ValoreMinimo && value > Intervallo)
_MaximumValue = value;
else
{
_MinimumValue = 0;
_MaximumValue = 100;
_IncrementValue = 10;
}
}
}
[CategoryAttribute("Asse delle Ordinate"), DescriptionAttribute("L' intervallo tra un valore e l'altro della scala.\nDeve essere maggiore del valore minimo e minore del valore massimo."), DefaultValueAttribute(10)]
public int Intervallo
{
get { return _IncrementValue; }
set
{
if (value > ValoreMinimo && value < ValoreMassimo)
_IncrementValue = value;
else
{
_MinimumValue = 0;
_MaximumValue = 100;
_IncrementValue = 10;
}
}
}
[CategoryAttribute("Asse delle Ascisse"), DescriptionAttribute("Il testo da visualizzare vicino all' asse."), DefaultValueAttribute("Ascisse")]
public string TestoX
{
get { return _XAxeText; }
set
{
if (value == "")
_XAxeText = "Ascisse";
else
_XAxeText = value;
}
}
[CategoryAttribute("Asse delle Ascisse"), DescriptionAttribute("I valori letterali da visualizzare sull'asse.")]
public List<string> ValoriAscisse
{
get { return _XAxeValues; }
set { _XAxeValues = value; }
}
}